// pages/index4/index4.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        msg: 'hello world',
        person: {
            name: '八戒'
        },
        num: 1
    },

    changeName() {
        console.log('改名');
        // const newPerson = {
        //     ...this.data.person
        // }
        // newPerson.name = "悟空"
        // this.setData({
        //     person: newPerson
        // })
        // 还可以写成以下方式
        this.setData({
            'person.name': '唐三藏'
        })
    },

    handleTap(data) {
        // 在这个 js 代码中
        // 1. 如果想取得data数据怎么办
        console.log(this.data.person.name);
        // 2. 如果想修改data数据怎么办
        // 错误写法 页面没法更新
        // this.data.person.name = 'abc' 
        const newData = {
            // data内字段名: 新的数据
            msg: '你好世界',
            num: this.data.num + 1
        }
        this.setData(newData)

        console.log('触发点击事件', data);
        // 获取 data 数据
        console.log('修改前', this.data.msg);
        // 修改 data 数据 注意直接赋值不能触发页面更新
        // 需要使用 setData
        // this.data.msg = '你好世界'
        this.setData({
            msg: '你好世界'
        })
        console.log('修改后', this.data.msg);
    },

    tapParent() {
        console.log('触发父元素点击');
    },
    tapChild() {
        console.log('触发子元素点击');
    },

    handleLog(event) {
        console.log(event);
        // event 是事件对象, 默认传进来的形参
        // event.target.dataset.xxx 可以获取到标签中 data-xxx="123" 里面的数据
        console.log('传入数据', event.target.dataset.num);
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})